#pragma once

#include <vector>
#include <fstream>

#include "../Common.h"

#include "../AssetManager.h"
#include "CurrentContext.h"
#include "Renderable.h"
#include "Light.h"



namespace DirectX
{
  class Enviroment
  {
  public:
    Enviroment(void);
    virtual ~Enviroment(void);

    void Update(float dt = 0.0f);
    void Render();

    void LoadContent();

  private:
    std::vector<IRenderable*> objectsToRender;
    std::vector<XMFLOAT2> reachable;
    bool whiteMove;
    int selectedReachable;

    ICollidable *selected;
    Light* light;
    bool turnLight;

    int selectionX, selectionY;
    bool selectionEnabled;
    double left, right, up, down;
    std::fstream file;
  };

}